package ilender.annotations;

import java.lang.annotation.*;

/**
 * Annotates a controller class.
 * <p>
 * Methods of classes annotated with @Controller can be called from AJAX.
 * Methods that are to be called from AJAX must receive exactly two arguments -
 * JsonObject and ControllerTools - and return JsonElement.
 * </p>
 * <p>
 * Documentation for those controller methods will consist of the format of the
 * JSON request object they receive, and of the JSON object they return.
 * </p>
 *
 * @param value the name of the controller. AJAX requests for this controller
 * will refer it by this name.
 */
@Retention(RetentionPolicy.RUNTIME)
public @interface Controller{
	public String value();
}
